var _latitude  // 经度
var _longitude  // 纬度
var _current_city  // 所在城市
var _current_position //  具体的所在位置
var _flag = true  // 标志位， true时代表 需要再根据 经纬度调用百度api
var _request_result // 用来缓存 百度api 获取后的结果

//var app = getApp() // 获得 app应用对象

Page({
    data: {
      loading: true, // 加载中
      current_city: '全国', // 当前 所在城市 ， 默认全国
      current_position: '', // 当前 所在  具体位置
      //origin_value: app.globalData.origin, // 返回的起点 value
      origin_value: '从哪里出发', // 返回的起点 value
      //destination_value: app.globalData.destination // 返回的目的地 value
      destination_value: '要去哪儿', // 返回的目的地 value
      return_origin_value: '',
      return_destination_value: '',
      _type: '_return',   // 请求类型  返程为: _return 第一次为: _Firstgo  返程再返程为: _go
      disabled: true // 一开始 查询 按钮为 disable 禁用
    },
  
    onLoad(params){
      const _this = this  // 存储 this 对象
      /*
      this.setData({
        origin_value: app.globalData.origin,  // 将  二级 页面的 msg信息返回回来
        destination_value: app.globalData.destination
      })
      */

      //get 用Wx 的 getStorage 
      wx.getStorage({
        key: 'origin', //起点
        success: function(res) {
          _this.setData({
            origin_value: res.data
          })
        },
        fail: function(){ // 解决
          _this.setData({
            origin_value: '从哪里出发'
          })
        },
      })
      wx.getStorage({
        key: 'destination', // 目的地
        success: function(res) {
          _this.setData({
            destination_value: res.data
          })
        },
        fail: function(){
          _this.setData({
            origin_value: '从哪里出发'
          })
        },
      })
      wx.getStorage({
        key: 'return_origin', // 返程起点
        success: function(res) {
          _this.setData({
            return_origin_value: res.data
          })
        },
      })
      wx.getStorage({
        key: 'return_destination', // 返程目的地
        success: function(res) {
          _this.setData({
            return_destination_value: res.data
          })
          //console.log(res.data)
        },
      })
      wx.getStorage({
        key: '_type', // 请求类型
        success: function(res) {
          _this.setData({
            _type: res.data
          })
        },
      })
      // 微信内部api 获取当前的 经纬度
      wx.getLocation({
        type: 'wgs84',
        success: function(res) {
          _latitude = res.latitude // 经度 22.543099
          _longitude = res.longitude // 纬度 114.057868

          if( _flag ){  //  第一次 获取到信息 后  后面的都不在 request, 节省api使用次数资源
              wx.request({
                // 百度api  根据 经纬度信息  返回所在地的位置信息
                url: 'https://api.map.baidu.com/geocoder/v2/?location='+_latitude+','+_longitude+'&output=json&pois=1&ak=IEhYRmWsKuZrP3rutOu3GatBBZ27lEVx', 
                header: {
                    'content-type': 'application/json'
                },
                success: function(res) {
                  _request_result = res.data.result // 缓存res.data.result信息
                  _flag = false // 查询完第一次后  以后都不查
                  _current_city = _request_result.addressComponent.city  // 当前所在城市
                  _current_position = _request_result.formatted_address // 当前具体位置

                  _this.setData({
                      current_city: _current_city,
                      current_position: _current_position,
                      latitude: _latitude,
                      longitude: _longitude
                  })
                }
              })
            }
            // _request_result 有数据, 则继续 setData 一遍
            if( _request_result){
              //console.log(_request_result)
              _current_city = _request_result.addressComponent.city
              _current_position = _request_result.formatted_address

              _this.setData({
                current_city: _current_city,
                current_position: _current_position,
                latitude: _latitude,
                longitude: _longitude
              })
            }
          },
          fail: function(){
            wx.showModal({
                content: '获取当前地理位置失败,请查看是否开启定位服务',
                showCancel: false,
                success: function (res) {
                  if (res.confirm) {
                    // back回到上一级
                    wx.navigateBack({
                      delta:1
                    })
                  }
                }
            })
          }
      })
    }
})